﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using XSTDZ.ERP.Application.DataContracts;

namespace XSTDZ.ERP.Application
{
    /// <summary>
    /// 工作组，计件、工资工单服务
    /// </summary>
    public interface IWorkGroupService
    {
        #region 工作组

        IList<WorkGroupDto> GetAllWorkGroup();
        void AddWorkGroup(WorkGroupDto workGroupDto);
        void UpdateWorkGroup(WorkGroupDto workGroupDto);
        WorkGroupDto GetWorkGroup(Guid id);
        void DeleteWorkGroup(Guid id);

        bool IsExist(WorkGroupDto workGroupDto);
        bool IsExistWorkGroupHeadman(WorkGroupDto workGroupDto);
        #endregion
        #region 计件

        IList<PieceDto> GetPiece(out int recordCount,int index,int pageSize);
        Guid AddPiece(PieceDto pieceDto);
        Guid UpdatePiece(PieceDto pieceDto);
        PieceDto GetPiece(Guid id);
        void Confirm(Guid billId);
        #endregion

        #region 工资工单

        IList<WagesBillDto> GetWagesBill(out int recordCount, int index, int pageSize);
        void AddWagesBill(WagesBillDto wagesBillDto);
        void AddWagesBills(WagesBillDto wagesBillDto, IList<WagesBillDetailDto> wagesBillDtos);
        void UpdateWagesBill(WagesBillDto wagesBillDto);
        WagesBillDto GetWagesBill(Guid id);
        bool IsExistWagesBillNo(string billNo);
        #endregion
        #region 其它
        /// <summary>
        /// 获得当前出库单单号的最大单号
        /// </summary>
        /// <returns></returns>
        string GetMaxBillNo();
        #endregion
    }
}
